package com.nineclock.system.service;

import com.nineclock.common.entity.Result;
import com.nineclock.system.dto.SysAllowedJoinCompanyUserDTO;
import com.nineclock.system.dto.SysApplyJoinCompanyUserDTO;
import com.nineclock.system.dto.SysChangeMainManagerDTO;
import com.nineclock.system.dto.SysCompanyDTO;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

public interface SysCompanyService {
    /**
     * 根据用户ID查询企业列表
     * @param userId
     * @return
     */
    public List<SysCompanyDTO> queryCompanyByUserId(Long userId);

    /**
     * 获取企业的详细信息
     * @return
     */
    public SysCompanyDTO queryCompany();

    /**
     * 上传企业Logo标识
     * @param file
     * @return
     */
    public String uploadFile(MultipartFile file);

    /**
     * 更新企业的基本信息
     * @param companyDTO
     */
    public void updateCompany(SysCompanyDTO companyDTO);

    /**
     * 更改企业主管理员
     * @param managerDTO
     */
    public void changeAdmin(SysChangeMainManagerDTO managerDTO);

    /**
     * 根据企业的关键字, 模糊查询企业列表
     * @param keyword
     * @return
     */
    public List<SysCompanyDTO> queryByKeyword(String keyword);

    /**
     * 申请加入企业
     * @param companyUserDTO
     */
    public void applyJoinCompany(SysApplyJoinCompanyUserDTO companyUserDTO);

    /**
     * 审批加入企业
     * @param allowedDTO
     */
    public void allowedJoinCompany(SysAllowedJoinCompanyUserDTO allowedDTO);
}